import type { PageParam, PageResult } from '@vben/request';
import type { Dayjs } from 'dayjs';

import { requestClient } from '#/api/request';

export namespace RuleBindingAPI {
    /** 摄像头信息信息 */
    export interface RuleBindingfo {
        ruleId: number; // 离岗规则id
        startTime?: string | Dayjs; //开始时间
        endTime?: string | Dayjs; // 结束时间
        absenceThreshold: number; // 违规临界值，分钟
        status: number; // 状态，0关闭1开启
        ruleAlias: string; // 规则别名
        ruleDesc: string; // 规则描述
        userid: number; // 员工userid
        name: string; // 用户姓名
        avatar: string; // 头像
        managerUserid: string; // 员工的直属主管id
        managerName: string; // 员工的直属主管
        mobile: string; // 手机号码
        jobNumber: string; // 员工工号
        title: string; // 职位
        deptIdList: string; // 所属部门id列表
        deptNames: string; // 所属部门名称列表
    }
}

/** 查询摄像头信息分页 */
export function getEmpesPage(params: PageParam) {
    return requestClient.get<PageResult<RuleBindingAPI.RuleBindingfo>>('moxi/sys-absence-rule-empe/getEmpesPage', { params });
}

/** 规则绑员工 */
export function sbinding(data: RuleBindingAPI.RuleBindingfo) {
    return requestClient.post('/moxi/sys-absence-rule-empe/sbinding', data);
}

/** 覆盖规则绑员工 */
export function override(data: RuleBindingAPI.RuleBindingfo) {
    return requestClient.post('/moxi/sys-absence-rule-empe/override', data);
}

/** 解除绑定*/
export function sDelBinding(data: RuleBindingAPI.RuleBindingfo) {
    return requestClient.post('/moxi/sys-absence-rule-empe/sDelBinding', data);
}

